package com.ruoyi.smartai.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/***
 * 对话控制管理
 * 同步redis实体类，便于管理对话中的流程
 */
public class DialogueManagement implements Serializable {
    private static final long serialVersionUID = 1L;
    //会话状态
    private boolean dialogStatus = true;

    /**
     * 当前会话id
     */
    private String dialogId;

    // 客户号码
    private String customerNumber;

    // 粉丝号码
    private String fansNumber;

    // 天数
    private String daysNumber;

    // 场景ID
    private String scenesId;

    // 步骤ID
    private String stepId;

    // 下一个步骤ID
    private String nextStepId;

    // 发送时间
    private String sendingTime;

    //开始时间
    private String startTime;

    //当前步骤总数
    private int stepCount = 1;

    //当前允许最大步骤数
    private int maxStep;

    private String cusReply;

    private int dialogScenesId = 1;

    private String dialogText;

    // 返回的Ids聚合
    private List<String> returnedIds = new ArrayList<>();

    private List<String> dialogList = new ArrayList<>();

    public List<String> getDialogList() {
        return dialogList;
    }

    public void addDialogText(String dialogText){
        this.dialogList.add(dialogText);
    }

    public void setDialogList(List<String> dialogList) {
        this.dialogList = dialogList;
    }

    public String getDialogText() {
        return dialogText;
    }

    public void setDialogText(String dialogText) {
        this.dialogText = dialogText;
    }

    public int getDialogScenesId() {
        return dialogScenesId;
    }

    public void setDialogScenesId(int dialogScenesId) {
        this.dialogScenesId = dialogScenesId;
    }

    public String getCusReply() {
        return cusReply;
    }

    public void setCusReply(String cusReply) {
        this.cusReply = cusReply;
    }

    public int getStepCount() {
        return stepCount;
    }

    public void setStepCount(int stepCount) {
        this.stepCount = stepCount;
    }

    public int getMaxStep() {
        return maxStep;
    }

    public void setMaxStep(int maxStep) {
        this.maxStep = maxStep;
    }

    public String getDialogId() {
        return dialogId;
    }

    public void setDialogId(String dialogId) {
        this.dialogId = dialogId;
    }

    public void addReturnedIds(String dialogId) {
        returnedIds.add(dialogId);
    }

    public boolean isDialogStatus() {
        return dialogStatus;
    }

    public void setDialogStatus(boolean dialogStatus) {
        this.dialogStatus = dialogStatus;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public List<String> getReturnedIds() {
        return returnedIds;
    }

    public void setReturnedIds(List<String> returnedIds) {
        this.returnedIds = returnedIds;
    }

    public String getCustomerNumber() {
        return customerNumber;
    }

    public void setCustomerNumber(String customerNumber) {
        this.customerNumber = customerNumber;
    }

    public String getFansNumber() {
        return fansNumber;
    }

    public void setFansNumber(String fansNumber) {
        this.fansNumber = fansNumber;
    }

    public String getDaysNumber() {
        return daysNumber;
    }

    public void setDaysNumber(String daysNumber) {
        this.daysNumber = daysNumber;
    }

    public String getScenesId() {
        return scenesId;
    }

    public void setScenesId(String scenesId) {
        this.scenesId = scenesId;
    }

    public String getStepId() {
        return stepId;
    }

    public void setStepId(String stepId) {
        this.stepId = stepId;
    }

    public String getNextStepId() {
        return nextStepId;
    }

    public void setNextStepId(String nextStepId) {
        this.nextStepId = nextStepId;
    }

    public String getSendingTime() {
        return sendingTime;
    }

    public void setSendingTime(String sendingTime) {
        this.sendingTime = sendingTime;
    }
}
